<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <!DOCTYPE html>
    <html lang="en">

    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <script>
            // 双重 for 循环
            var row = 2; //行
            var col = 5; // 列
            // 外层控制几行，
            // 内层控制打印的个数
            // 外层循环一次，内层循环全部
            // for (var i = 0; i < 2; i++) {
            //     var star = '';
            //     for (var j = 0; j < 5; j++) {
            //         star = star + '*'
            //     }
            //     console.log(star);
            // }

            var num = [5, 4, 13, 2, 1];
            // var newNum = [1, 2, 4, 5, 13];       
            // 对数组进行排序，最大的在后面，依次排序
            // 先遍历 num 数组，找到它的最大值，放在最后面。
            var num = [5, 4, 2, 1, 13];
            //  [ 4, 2, 1,5, 13];
            // 循环数组，如果前一个数，比后一个大，则交换位置，否则保持原来的位置
            // 循环结束后，最大的元素，在最后
            // 下一轮循环的时候，可以比较一个元素
            /*
           4 5 2 1 13
           4 2 5 1 13
           4 2 1 5 13
           4 2 1 5 13  // 第一轮循环得到的结果
           --------------------
           2 4 1 5 13
           2 1 4 5 13
           2 1 4 5 13  // 第二轮的循环结果
           ---------------------
           1 2 4 5 13
           1 2 4 5 13  // 第三轮得到的结果
           ------------------
           1 2 4 5 13  // 第四轮的循环结果
           */

            /*
            第一趟    交换 4     i = 0    4 + 0 = 4
            第二趟    交换 3    i = 1     3 + 1 = 4
            第三趟    交换 2次   i = 2    2 + 2 = 4
            第四趟    交换 1    i = 3     1 + 3 = 4
                                    交换的次数 + 趟数 = arr.length - 1
                                    交换的次数 =  arr.length - 1 - 趟数
            */
            // 外层循环控制 趟数
            // 内层循环控制 比较的次数  
            var num = [5, 4, 13, 2, 1];
            for (var i = 0; i < num.length - 1; i++) {
                // 外层控制循环的趟数
                // 内层控制每趟比较的次数
                for (var j = 0; j < num.length - 1 - i; j++) {
                    var temp = null;
                    if (num[j] > num[j + 1]) {
                        // 如果前一个元素大于后一个元素，则交换位置
                        temp = num[j];
                        num[j] = num[j + 1];
                        num[j + 1] = temp;
                    }
                }
            }
            console.log(num);
        </script>
    </head>

    <body>

    </body>

    </html>
</body>

</html>